package com.njuse.jvmfinal.loading;

import java.io.File;
import java.util.ArrayList;

import com.njuse.jvmfinal.memory.jclass.JClass;

public class methodarea {
	private static methodarea methodArea=null;
	private ArrayList<JClass> clazzes = new ArrayList<JClass>();
	private ArrayList<JClass> arrayclazzes=new ArrayList<JClass>();
	
	public static methodarea getinstance() {
		if (methodArea==null) {
			methodArea=new methodarea();
		}
		return methodArea;
	}
	
    public void addclass(JClass clazz) {
    	this.clazzes.add(clazz);
    }
    
    public JClass findclass(String name) {
    	for (int i=0;i<clazzes.size();i++) {
    		String temp=clazzes.get(i).getName();
    		temp=temp.replace("/", File.separator);
    		temp=temp+".class";
    		if (temp.equals(name)) {
    			return clazzes.get(i);
    		}
    	}
    	return null;
    }
    
    public void addarrayclass(JClass clazz) {
    	this.arrayclazzes.add(clazz);
    } 
    
    public JClass findarrayclass(String name) {
    	for (int i=0;i<arrayclazzes.size();i++) {
    		String temp=arrayclazzes.get(i).getName();
    		if (temp.equals(name)) {
    			return arrayclazzes.get(i);
    		}
    	}
    	return null;
    }
}
